AWS Network Firewall คืออะไร การแนะนำฟังก์ชันล่าสุดของ AWS
Network Firewall คืออะไร ?
ถ้าสรุปให้เข้าใจง่ายๆคือ เซอร์วิสที่ใช้ในการจัดการและกระจาย firewalls สำหรับใช้งาน VPC รวมถึง IDS และ IPS เปรียบเทียบกับ Network ACL กับ Security groups นั้น เซอร์วิสนี้มีความสามารถสูงในการสร้าง DPI สำหรับแอพพลิเคชั่นที่ตรวจจับและตรวจสอบ Domain name ต่างๆ หรือ ระบบป้องกันการบุกรุก Intrusion Prevention System (IPS) นั้นเอง
องค์ประกอบของ Network Firewall
AWS Network Firewall มีองค์ประกอบหลัก 3 ส่วนคือ
- firewall
- Firewall Policy
- Rule Groups
Firewall
Firewall ทำหน้าที่ในการสร้าง gateway สำหรับ load balancer หรือการ VPC endpoint ที่อยู่ใน subnet และเชื่อมต่อกันเกิดเป็น Firewall policy ในส่วนของการทำ logging เพื่อตั้งค่าจะรวมอยู่ในส่วนนี้
Firewall Policy
Firewalll Policy จะเป็นส่วนที่ใช้ในการกำหนดการทำงานของ firewall และตั้งค่า rule group เพื่อออกคำสั่งพื้นฐาน
Rule Groups
ส่วนนี้จะเป็นการกำหนดหัวข้อการคัดกรองซึ่งจะมีอยู่ 3 ประเภทของหัวข้อ (ข้อมูลล่าสุดเมื่อ มีนาคม 2022) - Unmanaged Stateless Rule Group - Unmanaged Stateful Rule Group - Managed Stateful Rule Groups
Unmanaged Stateless Rule Group
คือ rule group ที่ใช้ในการควบคุม stateless traffic ทั้งหมดเพื่อตรวจสอบข้อมูล traffic จาก 5-tuple ประกอบด้วย source IP, source port, destination IP, destination port และ protocol. ณ ปัจจุบันหลังจาก มีนาคม 2022, managed stateless rule groups จะไม่มีให้บริการแล้วเช่นเดียวกับ managed stateful rule
เนื้อหาที่ต้องเข้าใจก่อนใช้งาน stateful rule groups
เป็นเรื่องง่ายมากที่จะทำความเข้าใจถ้าเราแยกความหมายระหว่าง "Actions" และ "Order"
Action
คือการกำหนดหน้าที่การทำงานว่าจะให้ทำอะไรเกี่ยวกับการตรวจสอบ Traffic
ซึ่งเราสามารถเลือกได้แค่ 1 อย่างจากทั้งหมด 3 ประเภท คือ
- Path: อนุญาตให้ส่งข้อมูลไปยังปลายทาง
- Drop: บล็อคการส่งข้อมูลไปยังปลายทาง
- Alert: ปล่อยให้ส่งข้อมูลไปยังปลายทางได้และมีการแจ้งเตือนในรูปแบบ Log
Order
คือการกำหนดคำสั่งใน rule ที่มีการประเมินและเลือกใช้งานซึ่งเราสามารถเลือกได้ 2 ประเภท
- default
- Strict
Default
เป็นการตั้งค่าการประเมินพื้นฐานโดยความแตกต่างจะอยู่ที่การเลือกใช้งาน Action type
โดยเฉพาะ Rule จะถูกประเมินจาก 3 คำสั่งนี้ pass,drop และ alert
ตามตัวอย่างในรูป
IP address 192.168.0.0/24 ที่ใช้งาน port 80 จะสามารถผ่านได้ Pass
ถ้ามีการใช้งานโดยใช้ port และ CIDR อื่นนอกเหนือจากนี้จะมีสถานะเป็น Drop
โดยปกติการ drop จะถูกประมวลผลก่อน ดังนั้น alert จะไม่ทำงาน
ถ้าเราต้องการ alert แนะนำให้เราเลือกประเภท strict ในหัวข้อด้านล่างเพื่อใช้งาน
strict
เป็นการกำหนดให้สามารถใช้งานคำสั่งที่เราตั้งค่าเองได้
โดย Rules จะถูกประมวลผลจากบนลงล่าง
ดังนั้น alert จะถูกประเมินหลังจาก drop ได้ถูกตรวจสอบแล้ว
ซึ่ง unmanaged stateless rule groups นั้นถูกตั้งให้ใช้งานเป็นหลัก จึงมีการกำหนดด้วยคำสั่งการประมวลผล
Unmanaged stateful rule group
คือ rule group ที่ถูกใช้งานโดย Suricata ซึ่งเป็น เครือข่าย open source IPS สำหรับ network แบบ stateful เป็นรูปแบบ unmanaged rule group สำหรับใช้งาน custom rules หรือ rules ที่เราตั้งค่าเอง โดยมีการกำหนด rule ทั้งหมด 3 แบบ
- 5-tuple ประกอบด้วย source IP, source port, destination IP, destination port และ protocol.
- Domain list ชื่อโดเมนด์ต่างๆ ที่กำหนดเพื่อใช้งาน
- Suricata compatible IPS เครือข่ายที่กลั่นกรองโดย Suricata compatible IPS rules
Domain list นั้นไม่สามารถใช้งานได้ด้วยการตั้งค่าแบบ strict
อีกทางเลือกหนึ่งคือใช้การประเมินแบบ strict และการกรองตามโดเมนที่มี "กฎ IPS ที่เข้ากันได้กับ Suricata"
Managed stateful rule group
เป็น rule group ที่มีจัดการของ AWS ซึ่งจะพร้อมใช้งานตั้งแต่เดือนธันวาคม 2021 เมื่อเกิดช่องโหว่หรือภัยคุกคามใหม่ๆ ในการรักษาความปลอดภัยแอปพลิเคชันทเกิดขึ้น จะมีการอัพเดต rule group ที่มีการจัดการโดยอัตโนมัติและจัดเตรียม rule group เวอร์ชันใหม่
การประเมินของ Firewall Policy
Firewall Policy นั้นเป็นส่วนที่รับผิดชอบในการกำหนด rule group และดำเนินการตามค่าเริ่มต้น" หากเจาะลึกลงไปอีกนิด Firewall สามารถมีกลุ่มกฎหลายกลุ่มที่เชื่อมโยงกันมันได้แต่ละกลุ่มกฎมี "ลำดับความสำคัญ" ช่วยที่กำหนดการประเมิน "คำสั่งการประเมินกฎแบบมีสถานะและการดำเนินการเริ่มต้น" และ "rule group" ที่ใช้ใน "กลุ่มกฎแบบมีสถานะ" จะต้องตรงกัน
การตรวจสอบทั่วไปของคำสั่งการประเมินกฎ
ด้านล่างนี้เป็นแผนภาพแสดงการทำงานของ rule และการคำนวนต่างๆ ซึ่งค่อนข้างจะมีความซับซ้อน ลองใช้เวลาในการวิเคราะห์ดูครับ
Loot table design
Network Firewalls นั้นมีการใช้งาน NAT gateways ร่วมกันมากขึ้นนั้นก็เพราะ ตำแหน่งของความสัมพันธ์รวมกันระหว่าง NAT Gateway ได้เปลี่ยนไปแล้วในการอัพเดทครั้งนี้
Pre-MSR design
MSR ย่อมาจาก More Specific Routing เป็นฟังก์ชันที่ใช้ในการกำหนด route หรือ subnet ที่เฉพาะเจาะจง โดยมีการแยก table ออกมาจาก local route ยังไงก็ตามถ้าอยากได้ข้อมูลเพิ่มเติม สามารถดูลิงค์ที่อยู่ด้านล่างได้เลยครับ
ก่อนที่จะถือกำเนิดเกี่ยวกับ Specific Routhing (หรือในชื่อ MSR) เราใช้งาน VPC เป็นทางเชื่อมไปยัง Routing เพื่อควบคุมทุกคนใน Internet Gateway
ในการตั้งค่าครั้งนี้ IP Address ของ NAT นั้นถูกใช้เป็นข้อมูลตั้งค่าเพื่อให้สามารถเข้าถึง Firewall Endpoint ได้หลังจากผ่าน NAT Gateway ไปแล้ว
Design ของ MSR
ตั้งแต่โครงสร้าง MSR การติดต่อสื่อสารภายนอกสามารถทำได้ผ่าน Firewall Endpoint ปัญหาอย่างเช่น การรวม IP ของ Nat Gateway ได้ถูกแก้ไขแล้ว
ในอนาคต ถ้ามีโอกาสใช้งาน Network Firewall ผมขอแนะนำว่าให้คุณใช้งาน MSR สำหรับการออกแบบ route
โครงการตรวจสอบระบบความปลอดภัยให้กับ AWS Environment
AWS จะมีการตรวจสอบความปลอดภัยของสภาพแวดล้อมของคุณให้ฟรีในระยะเวลาจำกัด โดยจะตรวจสอบการตั้งค่าที่เกี่ยวข้องกับความปลอดภัยทั้งหมด 189 รายการ ซึ่งเป็นแนวทางปฏิบัติที่ดีที่สุดของ AWS และรายงานให้เรารับรู้ อย่างมีประสิทธิภาพด้วยการสนับสนุนของบริษัทมากกว่า 3,000 แห่ง สามารถดูรายละเอียดเพิ่มเติมได้ที่ลิงค์ด้านล่างครับ
สรุป
เนื้อหาทั้งหมดในบทความนี้ผมได้แปลมาจากบล็อกของภาษาญี่ปุ่นจากคุณ たかくに นะครับ ถ้าต้องการศึกษาข้อมูลหรือเนื้อหาเพิ่มเติมสามารถเข้าไปอ่านจากบล็อกของคุณ takakuni ได้เลยครับ
บทความต้นฉบับ
ขอขอบคุณบทความต้นฉบับที่เป็นแหล่งข้อมูลให้ผมนำมาแปลและเขียนเนื้อหาในบล็อกนี้ครับ